/**
	* Copyright (c) minuteproject, minuteproject@gmail.com
	* All rights reserved.
	* 
	* Licensed under the Apache License, Version 2.0 (the "License")
	* you may not use this file except in compliance with the License.
	* You may obtain a copy of the License at
	* 
	* http://www.apache.org/licenses/LICENSE-2.0
	* 
	* Unless required by applicable law or agreed to in writing, software
	* distributed under the License is distributed on an "AS IS" BASIS,
	* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	* See the License for the specific language governing permissions and
	* limitations under the License.
	* 
	* More information on minuteproject:
	* twitter @minuteproject
	* wiki http://minuteproject.wikispaces.com 
	* blog http://minuteproject.blogspot.net
	* 
*/
/**
	* template reference : 
	* - name : OpenxavaDomainObjectUML
	* - file name : DomainObjectUMLJPAAnnotationOXAnnotationV4.vm
*/
package sistema_oficial.sistema_oficial.domain.sistemaoficial;

//MP-MANAGED-ADDED-AREA-BEGINNING @import@
//MP-MANAGED-ADDED-AREA-ENDING @import@
import java.sql.*;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;

import javax.persistence.*;
import org.openxava.annotations.*;

import sistema_oficial.sistema_oficial.domain.sistemaoficial.Area;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.BienServicio;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Cliente;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.DetalleAcreditable;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.DetalleDebitable;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Empaque;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Fondo;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.MateriaPrima;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Motivo;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.OtroEgreso;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.OtroIngreso;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Paquete;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Producto;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.Proveedor;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.TipoImpuestoCompra;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.TipoImpuestoVenta;
import sistema_oficial.sistema_oficial.domain.sistemaoficial.CuentaMayor;

/**
 *
 * <p>Title: SubcuentaMayor</p>
 *
 * <p>Description: Domain Object describing a SubcuentaMayor entity</p>
 *
 */
@Entity (name="SubcuentaMayor")
@Table (name="subcuenta_mayor")
@Views({
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @view-base-subcuenta_mayor@
	@View(
		name="base",
		members=
        "" 	
        + "codigo  ; "
        + "descripcion  ; "
        + "cuentaMayorCodigo  ; "
		),
//MP-MANAGED-UPDATABLE-ENDING
	@View(
		name="Create", 
		extendsView="base"
	),
	@View(
		name="Update", 
		extendsView="base",
        members=
          "" 	
	    + "areaSubcuentaMayorViaSubcuentaMayorCodigo { areaSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "bienServicioSubcuentaMayorViaSubcuentaMayorCodigo { bienServicioSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "clienteSubcuentaMayorViaSubcuentaMayorCodigo { clienteSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo { detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo { detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "empaqueSubcuentaMayorViaSubcuentaMayorCodigo { empaqueSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "fondoSubcuentaMayorViaSubcuentaMayorCodigo { fondoSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo { materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "motivoSubcuentaMayorViaSubcuentaMayorCodigo { motivoSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo { otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo { otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "paqueteSubcuentaMayorViaSubcuentaMayorCodigo { paqueteSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "productoSubcuentaMayorViaSubcuentaMayorCodigo { productoSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "proveedorSubcuentaMayorViaSubcuentaMayorCodigo { proveedorSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo { tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo };" 
	    + "tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo { tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo };" 
	),
	@View(extendsView="base",
        members=
          "" 	
	   ),
    @View(name="subcuentaMayorDEFAULT_VIEW", 
	   members=
          " codigo ;" 	
        + "descripcion  ; "
	),
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @view-reference-subcuenta_mayor@
    @View(name="reference", 
       extendsView="subcuentaMayorDEFAULT_VIEW"
//MP-MANAGED-UPDATABLE-ENDING
    )
})

@Tabs({
@Tab(
properties=
     " codigo "
    +",  descripcion "
)
,
@Tab(
name = "SubcuentaMayorTab",
properties=
     " codigo "
    +",  descripcion "
)
,
@Tab(
name = "SubcuentaMayorTabWithRef",
properties=
     " codigo "
    +",  descripcion "
)
})
//MP-MANAGED-ADDED-AREA-BEGINNING @class-annotation@
//MP-MANAGED-ADDED-AREA-ENDING @class-annotation@
public class SubcuentaMayor {

    @Id @Column(name="codigo" ,length=20)
    private String codigo; 

//MP-MANAGED-ADDED-AREA-BEGINNING @descripcion-field-annotation@
//MP-MANAGED-ADDED-AREA-ENDING @descripcion-field-annotation@

//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @ATTRIBUTE-descripcion@
    @Column(name="descripcion",  length=50, nullable=false,  unique=false)
    @Required
    private String descripcion;	
//MP-MANAGED-UPDATABLE-ENDING


//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @parent-CuentaMayor-subcuenta_mayor@
    @ManyToOne (fetch=FetchType.LAZY ,optional=false) //remove optional=false to aggragate but leads to a side effect when going directly to the entity: required check is not performed=> if no set DB check constraint is raised...
    @JoinColumn(name="cuenta_mayor_codigo", nullable=false,  unique=false  )
    @ReferenceView ("reference") 
    private CuentaMayor cuentaMayorCodigo; 
    
//MP-MANAGED-UPDATABLE-ENDING
//children
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-areaSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Area.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Area> areaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Area>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-bienServicioSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.BienServicio.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <BienServicio> bienServicioSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<BienServicio>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-clienteSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Cliente.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Cliente> clienteSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Cliente>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.DetalleAcreditable.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <DetalleAcreditable> detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<DetalleAcreditable>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.DetalleDebitable.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <DetalleDebitable> detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<DetalleDebitable>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-empaqueSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Empaque.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Empaque> empaqueSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Empaque>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-fondoSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Fondo.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Fondo> fondoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Fondo>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.MateriaPrima.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <MateriaPrima> materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<MateriaPrima>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-motivoSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Motivo.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Motivo> motivoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Motivo>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.OtroEgreso.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <OtroEgreso> otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<OtroEgreso>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.OtroIngreso.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <OtroIngreso> otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<OtroIngreso>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-paqueteSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Paquete.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Paquete> paqueteSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Paquete>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-productoSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Producto.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Producto> productoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Producto>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-proveedorSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.Proveedor.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <Proveedor> proveedorSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Proveedor>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.TipoImpuestoCompra.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <TipoImpuestoCompra> tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<TipoImpuestoCompra>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @child-tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo-subcuenta_mayor@
    @OneToMany (targetEntity=sistema_oficial.sistema_oficial.domain.sistemaoficial.TipoImpuestoVenta.class, fetch=FetchType.LAZY, mappedBy="subcuentaMayorCodigo", cascade=CascadeType.REMOVE)//, cascade=CascadeType.ALL)
    private Set <TipoImpuestoVenta> tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<TipoImpuestoVenta>(); 
   
//MP-MANAGED-UPDATABLE-ENDING
//m2m
    /**
    * Default constructor
    */
    public SubcuentaMayor() {
    }


    public String getCodigo() {
        return codigo;
    }
	
    public void setCodigo (String codigo) {
        this.codigo =  codigo;
    }
    

//MP-MANAGED-UPDATABLE-BEGINNING-DISABLE @GETTER-SETTER-descripcion@
    public String getDescripcion() {
        return descripcion;
    }
	
    public void setDescripcion (String descripcion) {
        this.descripcion =  descripcion;
    } 
//MP-MANAGED-UPDATABLE-ENDING


    public CuentaMayor getCuentaMayorCodigo () {  //
    	return cuentaMayorCodigo;
    }
	
    public void setCuentaMayorCodigo (CuentaMayor cuentaMayorCodigo) {
    	this.cuentaMayorCodigo = cuentaMayorCodigo;//this.cuentaMayorCodigo = cuentaMayor;
    }

    public Set<Area> getAreaSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (areaSubcuentaMayorViaSubcuentaMayorCodigo == null){
            areaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Area>();
        }
        return areaSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setAreaSubcuentaMayorViaSubcuentaMayorCodigo (Set<Area> areaSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.areaSubcuentaMayorViaSubcuentaMayorCodigo = areaSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addAreaSubcuentaMayorViaSubcuentaMayorCodigo (Area area) {
    	    getAreaSubcuentaMayorViaSubcuentaMayorCodigo().add(area);
    }
    
    public Set<BienServicio> getBienServicioSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (bienServicioSubcuentaMayorViaSubcuentaMayorCodigo == null){
            bienServicioSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<BienServicio>();
        }
        return bienServicioSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setBienServicioSubcuentaMayorViaSubcuentaMayorCodigo (Set<BienServicio> bienServicioSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.bienServicioSubcuentaMayorViaSubcuentaMayorCodigo = bienServicioSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addBienServicioSubcuentaMayorViaSubcuentaMayorCodigo (BienServicio bienServicio) {
    	    getBienServicioSubcuentaMayorViaSubcuentaMayorCodigo().add(bienServicio);
    }
    
    public Set<Cliente> getClienteSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (clienteSubcuentaMayorViaSubcuentaMayorCodigo == null){
            clienteSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Cliente>();
        }
        return clienteSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setClienteSubcuentaMayorViaSubcuentaMayorCodigo (Set<Cliente> clienteSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.clienteSubcuentaMayorViaSubcuentaMayorCodigo = clienteSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addClienteSubcuentaMayorViaSubcuentaMayorCodigo (Cliente cliente) {
    	    getClienteSubcuentaMayorViaSubcuentaMayorCodigo().add(cliente);
    }
    
    public Set<DetalleAcreditable> getDetalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo == null){
            detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<DetalleAcreditable>();
        }
        return detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setDetalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo (Set<DetalleAcreditable> detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo = detalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addDetalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo (DetalleAcreditable detalleAcreditable) {
    	    getDetalleAcreditableSubcuentaMayorViaSubcuentaMayorCodigo().add(detalleAcreditable);
    }
    
    public Set<DetalleDebitable> getDetalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo == null){
            detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<DetalleDebitable>();
        }
        return detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setDetalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo (Set<DetalleDebitable> detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo = detalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addDetalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo (DetalleDebitable detalleDebitable) {
    	    getDetalleDebitableSubcuentaMayorViaSubcuentaMayorCodigo().add(detalleDebitable);
    }
    
    public Set<Empaque> getEmpaqueSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (empaqueSubcuentaMayorViaSubcuentaMayorCodigo == null){
            empaqueSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Empaque>();
        }
        return empaqueSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setEmpaqueSubcuentaMayorViaSubcuentaMayorCodigo (Set<Empaque> empaqueSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.empaqueSubcuentaMayorViaSubcuentaMayorCodigo = empaqueSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addEmpaqueSubcuentaMayorViaSubcuentaMayorCodigo (Empaque empaque) {
    	    getEmpaqueSubcuentaMayorViaSubcuentaMayorCodigo().add(empaque);
    }
    
    public Set<Fondo> getFondoSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (fondoSubcuentaMayorViaSubcuentaMayorCodigo == null){
            fondoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Fondo>();
        }
        return fondoSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setFondoSubcuentaMayorViaSubcuentaMayorCodigo (Set<Fondo> fondoSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.fondoSubcuentaMayorViaSubcuentaMayorCodigo = fondoSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addFondoSubcuentaMayorViaSubcuentaMayorCodigo (Fondo fondo) {
    	    getFondoSubcuentaMayorViaSubcuentaMayorCodigo().add(fondo);
    }
    
    public Set<MateriaPrima> getMateriaPrimaSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo == null){
            materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<MateriaPrima>();
        }
        return materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setMateriaPrimaSubcuentaMayorViaSubcuentaMayorCodigo (Set<MateriaPrima> materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo = materiaPrimaSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addMateriaPrimaSubcuentaMayorViaSubcuentaMayorCodigo (MateriaPrima materiaPrima) {
    	    getMateriaPrimaSubcuentaMayorViaSubcuentaMayorCodigo().add(materiaPrima);
    }
    
    public Set<Motivo> getMotivoSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (motivoSubcuentaMayorViaSubcuentaMayorCodigo == null){
            motivoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Motivo>();
        }
        return motivoSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setMotivoSubcuentaMayorViaSubcuentaMayorCodigo (Set<Motivo> motivoSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.motivoSubcuentaMayorViaSubcuentaMayorCodigo = motivoSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addMotivoSubcuentaMayorViaSubcuentaMayorCodigo (Motivo motivo) {
    	    getMotivoSubcuentaMayorViaSubcuentaMayorCodigo().add(motivo);
    }
    
    public Set<OtroEgreso> getOtroEgresoSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo == null){
            otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<OtroEgreso>();
        }
        return otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setOtroEgresoSubcuentaMayorViaSubcuentaMayorCodigo (Set<OtroEgreso> otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo = otroEgresoSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addOtroEgresoSubcuentaMayorViaSubcuentaMayorCodigo (OtroEgreso otroEgreso) {
    	    getOtroEgresoSubcuentaMayorViaSubcuentaMayorCodigo().add(otroEgreso);
    }
    
    public Set<OtroIngreso> getOtroIngresoSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo == null){
            otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<OtroIngreso>();
        }
        return otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setOtroIngresoSubcuentaMayorViaSubcuentaMayorCodigo (Set<OtroIngreso> otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo = otroIngresoSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addOtroIngresoSubcuentaMayorViaSubcuentaMayorCodigo (OtroIngreso otroIngreso) {
    	    getOtroIngresoSubcuentaMayorViaSubcuentaMayorCodigo().add(otroIngreso);
    }
    
    public Set<Paquete> getPaqueteSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (paqueteSubcuentaMayorViaSubcuentaMayorCodigo == null){
            paqueteSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Paquete>();
        }
        return paqueteSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setPaqueteSubcuentaMayorViaSubcuentaMayorCodigo (Set<Paquete> paqueteSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.paqueteSubcuentaMayorViaSubcuentaMayorCodigo = paqueteSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addPaqueteSubcuentaMayorViaSubcuentaMayorCodigo (Paquete paquete) {
    	    getPaqueteSubcuentaMayorViaSubcuentaMayorCodigo().add(paquete);
    }
    
    public Set<Producto> getProductoSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (productoSubcuentaMayorViaSubcuentaMayorCodigo == null){
            productoSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Producto>();
        }
        return productoSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setProductoSubcuentaMayorViaSubcuentaMayorCodigo (Set<Producto> productoSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.productoSubcuentaMayorViaSubcuentaMayorCodigo = productoSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addProductoSubcuentaMayorViaSubcuentaMayorCodigo (Producto producto) {
    	    getProductoSubcuentaMayorViaSubcuentaMayorCodigo().add(producto);
    }
    
    public Set<Proveedor> getProveedorSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (proveedorSubcuentaMayorViaSubcuentaMayorCodigo == null){
            proveedorSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<Proveedor>();
        }
        return proveedorSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setProveedorSubcuentaMayorViaSubcuentaMayorCodigo (Set<Proveedor> proveedorSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.proveedorSubcuentaMayorViaSubcuentaMayorCodigo = proveedorSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addProveedorSubcuentaMayorViaSubcuentaMayorCodigo (Proveedor proveedor) {
    	    getProveedorSubcuentaMayorViaSubcuentaMayorCodigo().add(proveedor);
    }
    
    public Set<TipoImpuestoCompra> getTipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo == null){
            tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<TipoImpuestoCompra>();
        }
        return tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setTipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo (Set<TipoImpuestoCompra> tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo = tipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addTipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo (TipoImpuestoCompra tipoImpuestoCompra) {
    	    getTipoImpuestoCompraSubcuentaMayorViaSubcuentaMayorCodigo().add(tipoImpuestoCompra);
    }
    
    public Set<TipoImpuestoVenta> getTipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo() {
        if (tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo == null){
            tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo = new HashSet<TipoImpuestoVenta>();
        }
        return tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo;
    }

    public void setTipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo (Set<TipoImpuestoVenta> tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo) {
        this.tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo = tipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo;
    }	
    
    public void addTipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo (TipoImpuestoVenta tipoImpuestoVenta) {
    	    getTipoImpuestoVentaSubcuentaMayorViaSubcuentaMayorCodigo().add(tipoImpuestoVenta);
    }
    



//MP-MANAGED-ADDED-AREA-BEGINNING @implementation@
//MP-MANAGED-ADDED-AREA-ENDING @implementation@

}
